// packagMy/pages/coupon/myCoupon.js
import { couponApi } from '../../../../config/config'
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    listData: [],
    page: 1,
    rows: 10,
    nomoreData: false,
    typeId: 5,
    // 查询类型(0:定金券；1：无门槛；2：满减；3：折扣；4：送装；5：全部)
    sortData: [
      { id: 5,name: '全部',count:0},
      { id: 0, name: '定金券',count:0 },
      { id: 1, name: '无门槛券',count:0 }, 
      { id: 2,name: '满减券',count:0}, 
      { id: 3,name: '折扣券',count:0 } , 
      { id: 4, name: '送装券',count:0 }
    ],
    demoData:[
      {
        id:1,
        couponType: 1,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus:0, // 0 未使用， 1 已使用，2 已过期
        discountType:0, //1 打折， 0 满减 
      },
      {
        id: 2,
        couponType: 2,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 0, // 0 未使用， 1 已使用，2 已过期
        discountType:1, //1 打折， 0 满减 
      },
      {
        id: 3,
        couponType: 3,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 0, // 0 未使用， 1 已使用，2 已过期
        discountType: 1, //1 打折， 0 满减 
      },
      {
        id: 44,
        couponType: 4,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 0, // 0 未使用， 1 已使用，2 已过期
        discountType: 1, //1 打折， 0 满减 
      },
      {
        id: 44,
        couponType: 4,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 0, // 0 未使用， 1 已使用，2 已过期
        discountType: 1, //1 打折， 0 满减 
      },
      {
        id: 4,
        couponType: 1,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 1, // 0 未使用， 1 已使用，2 已过期
        discountType: 1, //1 打折， 0 满减 
      },
      {
        id: 5,
        couponType: 2,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 2, // 0 未使用，1 已使用，2 已过期
        discountType: 0, //1 打折， 0 满减 
      },
      {
        id: 6,
        couponType: 3,// 优惠券类型： 1 送装， 2全品， 2 限品， 4 门店券
        useStatus: 1, // 0 未使用， 1 已使用，2 已过期
        discountType: 1, //1 打折， 0 满减 
      }
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getCouponTypeList()
    this.getListData()
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getCouponTypeList()
    this.getListData()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      page: 1,
      nomoreData:false
    })
    this.getListData()
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.data.nomoreData) {
      this.setData({
        page: this.data.page + 1
      })
      this.getListData()
    }
  },

  /**
   * 用户点击右上角分享
   */
  // onShareAppMessage: function () {

  // },
  // 获取列表数据
  getListData() {
    let params = {
      page: this.data.page,
      rows: this.data.rows,
      status:this.data.typeId
    }
    const queryUrl=`${couponApi.queryMyCoupon}`//?status=${this.data.typeId}
    app.reqFun.requestForm('POST', queryUrl , params, (response) => {
      const res=response.data
      if (res.success == 1) {
        const records = res.data.records
        let listData=records
        if(this.data.page>1){
          listData = records.reduce(function (coll, item) {
            const index=coll.findIndex(v=>v.couponCode==item.couponCode)
            if(index==-1){
              coll.push(item);
            }
            return coll;
          }, this.data.listData);
        }

        this.setData({
          listData,
          nomoreData: records.length < this.data.rows
        })
      }
    })
  },
  // 获取优惠券类型统计数据
  getCouponTypeList(){
    app.reqFun.requestJson('GET', couponApi.queryMyCouponNum , {}, (response) => {
      const res=response.data
      if (res.success == 1) {
        const sortData = this.data.sortData
        res.data && res.data.forEach(v=>{
          const index=sortData.findIndex(sort=>sort.id == v.status)
          if(index>-1){
            sortData[index].count=v.number || 0
          }
        })
        this.setData({
          sortData
        })
      }
    })
  },
  /**
   * 切换优惠券类型
  */
  tapTypeSelect(e) {
    this.setData({
      typeId: e.currentTarget.dataset.id,
      page:1,
      nomoreData:false
    })
    this.getListData()
  },
})